CodeIgniter এর Active Record প্যাটার্ন

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Models |

CodeIgniter এর Active Record প্যাটার্ন হলো ডাটাবেস ইন্টারঅ্যাকশনের জন্য একটি শক্তিশালী এবং সহজ পদ্ধতি। এটি ডাটাবেসের সাধারণ কাজ (যেমন সিলেক্ট, ইনসার্ট, আপডেট, ডিলিট) সম্পাদন করার জন্য একটি সহজ, রিডেবল এবং সিকিউর মেথড সরবরাহ করে।

Active Record প্যাটার্ন ডেটাবেস কোয়েরি লেখার পরিবর্তে ফাংশন-ভিত্তিক পদ্ধতি ব্যবহার করে, যা SQL ইনজেকশন প্রতিরোধ করতে সহায়তা করে।


Active Record এর প্রধান বৈশিষ্ট্য

  1. সাধারণ এবং রিডেবল কোড: SQL কোয়েরি লেখার প্রয়োজন ছাড়াই ডেটাবেস অপারেশন করা যায়।
  2. সিকিউরিটি: SQL ইনজেকশন প্রতিরোধ করার জন্য এটি ব্যবহার করা হয়।
  3. চেইনিং সাপোর্ট: একাধিক মেথড একত্রে ব্যবহার করে কোয়েরি তৈরি করা যায়।
  4. কোড রিইউজেবিলিটি: একবার কোড লিখে বারবার ব্যবহার করা যায়।
  5. ডাটাবেস ইন্ডিপেনডেন্স: বিভিন্ন ডাটাবেস ড্রাইভারের সাথে কাজ করতে পারে।

Active Record এর সাধারণ ক্রিয়াকলাপ

১. ডেটা সিলেক্ট করা

ডাটাবেস থেকে ডেটা রিট্রিভ করার জন্য Active Record মেথড ব্যবহার করা হয়।

উদাহরণ:

$this->db->select('name, email');
$this->db->from('users');
$this->db->where('status', 'active');
$query = $this->db->get();

$result = $query->result();

উপরের কোডের সমতুল্য SQL কোয়েরি:

SELECT name, email FROM users WHERE status = 'active';

২. ডেটা ইনসার্ট করা

ডাটাবেসে নতুন ডেটা যোগ করার জন্য insert() মেথড ব্যবহার করা হয়।

উদাহরণ:

$data = [
    'name' => 'John Doe',
    'email' => 'john@example.com',
    'status' => 'active'
];

$this->db->insert('users', $data);

উপরের কোডের সমতুল্য SQL কোয়েরি:

INSERT INTO users (name, email, status) VALUES ('John Doe', 'john@example.com', 'active');

৩. ডেটা আপডেট করা

ডাটাবেসে বিদ্যমান ডেটা আপডেট করার জন্য update() মেথড ব্যবহার করা হয়।

উদাহরণ:

$data = [
    'status' => 'inactive'
];

$this->db->where('id', 1);
$this->db->update('users', $data);

উপরের কোডের সমতুল্য SQL কোয়েরি:

UPDATE users SET status = 'inactive' WHERE id = 1;

৪. ডেটা মুছে ফেলা

ডাটাবেস থেকে ডেটা মুছে ফেলার জন্য delete() মেথড ব্যবহার করা হয়।

উদাহরণ:

$this->db->where('id', 1);
$this->db->delete('users');

উপরের কোডের সমতুল্য SQL কোয়েরি:

DELETE FROM users WHERE id = 1;

Active Record এর আরও কার্যকরী মেথড

লিমিট এবং অর্ডার

ডেটা সীমাবদ্ধ বা সাজানোর জন্য limit() এবং order_by() মেথড ব্যবহার করা হয়।

উদাহরণ:

$this->db->select('*');
$this->db->from('users');
$this->db->order_by('name', 'ASC');
$this->db->limit(10);
$query = $this->db->get();

গ্রুপিং এবং হ্যাভিং

ডেটা গ্রুপ এবং ফিল্টার করার জন্য group_by() এবং having() ব্যবহার করা হয়।

উদাহরণ:

$this->db->select('status, COUNT(*) as total');
$this->db->from('users');
$this->db->group_by('status');
$this->db->having('total > 10');
$query = $this->db->get();

লাইক (LIKE) ক্লজ

লাইক ব্যবহার করে ডেটা ফিল্টার করার জন্য like() মেথড ব্যবহার করা হয়।

উদাহরণ:

$this->db->select('*');
$this->db->from('users');
$this->db->like('name', 'John');
$query = $this->db->get();

Active Record এর সুবিধা

  1. কোড লেখা সহজ এবং রিডেবল।
  2. SQL ইনজেকশন প্রতিরোধ করে।
  3. ডাটাবেস ইন্ডিপেনডেন্ট পদ্ধতি।
  4. ডাইনামিক কোয়েরি তৈরি করা সহজ।
  5. কাস্টম কোয়েরি লিখার প্রয়োজন নেই।

Active Record এর ব্যবহার উপযুক্ততা

  • যদি ডাটাবেস অপারেশন দ্রুত এবং নিরাপদ করতে চান।
  • যখন কোড রিডেবল এবং মেইনটেইনেবল হওয়া প্রয়োজন।
  • যখন অ্যাপ্লিকেশন বিভিন্ন ডাটাবেসের সাথে কাজ করবে।

CodeIgniter এর Active Record প্যাটার্ন ডাটাবেস ইন্টারঅ্যাকশনের জন্য একটি কার্যকরী এবং সহজ সমাধান। এটি কোডের সুরক্ষা ও রক্ষণাবেক্ষণ সহজতর করে।

Content added By
Promotion